home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micromail 103 / MicroMail.jar / MailReader.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-07  |  3.5 KB  |  118 lines

  1. import com.siemens.mp.io.File;
  2.  
  3. public class MailReader {
  4.    public static int tooBigNo;
  5.  
  6.    public static int downloadNewMessages(ProgressForm var0) {
  7.       int var1 = 0;
  8.       tooBigNo = 0;
  9.       Object var4 = null;
  10.       String[] var5 = null;
  11.       int[] var6 = null;
  12.       int var8 = AccountHandler.getCount();
  13.  
  14.       for(int var9 = 0; var9 < var8; ++var9) {
  15.          Globals.account = AccountHandler.getAccount(var9);
  16.          String var3 = Globals.account.accountName + Globals.fileExtension;
  17.          AccountHandler.openIDsFile(var3);
  18.          String[] var14 = AccountHandler.readIDs();
  19.          AccountHandler.closeIDsFile();
  20.          String var2 = Globals.account.accountName + Globals.tmpFileExtension;
  21.          if (Globals.account != null && Globals.account.accountActive) {
  22.             var0.setInfo(-1, 0, Globals.account.popHost, (String)null, (String)null);
  23.             boolean var10 = Globals.connectToServer(true);
  24.             if (var10) {
  25.                var0.setInfo(-1, -1, (String)null, Resource.getText(22), (String)null);
  26.                int var11 = POP3Reader.getMessagesCount();
  27.                var0.setInfo(-1, -1, (String)null, " 0/" + var11 + " " + Resource.getText(24), (String)null);
  28.                System.gc();
  29.                if (var11 > 0) {
  30.                   var0.setInfo(var11, -1, (String)null, (String)null, (String)null);
  31.                   System.out.println("get IDs");
  32.                   var5 = POP3Reader.getMessageIDs(var11);
  33.                   System.out.println("get lengths");
  34.                   var6 = POP3Reader.getMessageLengths(var11);
  35.                }
  36.  
  37.                System.gc();
  38.                AccountHandler.openIDsFile(var2);
  39.  
  40.                for(int var12 = 0; var12 < var11; ++var12) {
  41.                   var0.setInfo(-1, var12, (String)null, " " + var12 + "/" + var11 + " " + Resource.getText(24), (String)null);
  42.                   if (!messageDownloaded(var14, var5[var12])) {
  43.                      if (var6[var12] <= Globals.maxMsgSize) {
  44.                         System.out.println("downloading message");
  45.                         Message var7 = POP3Reader.getMessageAtOnce(var12 + 1, var6[var12]);
  46.                         MicroCache.storeMessage(1, var7, -1);
  47.                         ++var1;
  48.                         Object var16 = null;
  49.                      } else {
  50.                         ++tooBigNo;
  51.                         System.out.println("message too big");
  52.                      }
  53.                   }
  54.  
  55.                   AccountHandler.writeID(var5[var12], var12 + 1);
  56.                   if (MicroMail.getAppShutdown() || MicroMail.getEndConnection()) {
  57.                      System.out.println("canceled");
  58.                      MicroMail.printInfo(Resource.getText(23));
  59.                      break;
  60.                   }
  61.  
  62.                   System.gc();
  63.                }
  64.  
  65.                AccountHandler.closeIDsFile();
  66.                var0.setInfo(-1, var11, (String)null, " " + var11 + "/" + var11 + " " + Resource.getText(24), (String)null);
  67.                System.gc();
  68.                Globals.disconnectFromServer(true);
  69.                Globals.account = null;
  70.                var5 = null;
  71.                var6 = null;
  72.                Object var15 = null;
  73.  
  74.                try {
  75.                   File var10000 = Globals.file;
  76.                   File.delete(var3);
  77.                   var10000 = Globals.file;
  78.                   File.rename(var2, var3);
  79.                } catch (Exception var13) {
  80.                }
  81.  
  82.                System.gc();
  83.                var0.setInfo(-1, -1, (String)null, Resource.getText(21), (String)null);
  84.             } else {
  85.                var0.setInfo(-1, -1, (String)null, Resource.getText(20) + Globals.account.accountName, (String)null);
  86.                MicroMail.printInfo(Resource.getText(20) + Globals.account.accountName);
  87.             }
  88.          } else {
  89.             MicroMail.printInfo("ACCOUNT NOT ACTIVE:" + Globals.account.accountName);
  90.          }
  91.  
  92.          if (MicroMail.getAppShutdown() || MicroMail.getEndConnection()) {
  93.             MicroMail.printInfo(Resource.getText(23));
  94.             break;
  95.          }
  96.       }
  97.  
  98.       System.out.println("before gc");
  99.       System.gc();
  100.       System.out.println("after gc");
  101.       return var1;
  102.    }
  103.  
  104.    protected static boolean messageDownloaded(String[] var0, String var1) {
  105.       if (var0 != null) {
  106.          int var2 = 0;
  107.  
  108.          for(int var3 = var0.length; var2 < var3; ++var2) {
  109.             if (var0[var2].equals(var1)) {
  110.                return true;
  111.             }
  112.          }
  113.       }
  114.  
  115.       return false;
  116.    }
  117. }
  118.